perm filename LET.PUB[LET,JMC]22 blob sn#512992 filedate 1980-05-27 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00004 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	.<< 			Feature summary
C00005 00003	.DEVICE XGP
C00010 00004	.at "∂AIL" data "∞" ⊂
C00017 ENDMK
C⊗;
.<< 			Feature summary
.
.Start with
.require "let.pub[let,jmc]" source;
.Letterheads:	∂<type> <to>$<from>$<subject>$<date>∞
. <type> may be:
.	AIL - AI Lab Letter
.	MEM - AI Lab Memo
.	CSL - CS letter
.	CSM - CS memo
.	HOM - home address letter
.	SE2 - SE2 letter
.	LOT - LOTS letter
.	MLOT - LOTS memo
. <from> defaults depend on <type>,
. <date> defaults to today.
. Use "↓" wherever you want a CRLF.	
.Signatures:
.	.sgn - sincerely yours, with signature according to letterhead
. 	.sgnp - sincerely yours, John McCarthy
.	.reg - best regards, with signature according to letterhead
.	.regp - best regards, with no titles
.
.Other handy macros:
.  FAC means FILL ADJUST
.  CB "<sub-heading>"  means make a centered boldface subheading.  If the
.	subheading contains any commas, be sure to enclose it in quotes.
.  BOLDIT may be called within a block to cause quoted text " ... " to
.	turn into boldface (without quotes) and broketed text < ... > to
.	be put in italics (without brokets).
.  REF may be called within a block to print "References:", then go into
.	BOLDIT mode with a format suitable for a list of references.
.
.Below is the list of addressee abbreviations.  Use as, e.g. "Dave Russell↓IPT".
.The abbreviation identifier may be up to 4 letters long.
.>>		
.ARPA←"Advanced Research Projects Agency↓"&
.  "1700 Wilson Boulevard↓Arlington, Virginia 22209";
.
.IPT←"Information Processing Techniques Office↓"&
.  "Advanced Research Projects Agency↓"&
.  "1700 Wilson Boulevard↓Arlington, Virginia 22209";
.DEVICE XGP
.bottom←56;
.page frame bottom high 85 wide
.area text lines 1 to bottom char 1 to 80;
.
.COUNT ITEM
.AT "#" ⊂NEXT ITEM;(ITEM!);⊃;
.
.TURN ON "%{α"
.font 1 "basl30"; font 2 "basi30"; font 3 "basb30";FONT B "BAXM30";FONT C "zero30";
.AT "ffi" ⊂ IF 0<THISFONT≤3 THEN "≠"  ELSE "fαfαi" ⊃;
.AT "ffl" ⊂ IF 0<THISFONT≤3 THEN "α∞" ELSE "fαfαl" ⊃;
.AT "ff"  ⊂ IF 0<THISFONT≤3 THEN "≥"  ELSE "fαf" ⊃;
.AT "fi"  ⊂ IF 0<THISFONT≤3 THEN "α≡" ELSE "fαi" ⊃;
.AT "fl"  ⊂ IF 0<THISFONT≤3 THEN "∨"  ELSE "fαl" ⊃;
.AT "--"  ⊂ IF 0<THISFONT≤3 THEN "¬" ELSE "-α-" ⊃;
.
.at "↓";	⊂ }
.⊃;
.
.macro letter(data,aut);	⊂
.<< namad = toname↓addr1↓addr2↓...$author$subject$date$saluation>>
.before page ⊂ ⊃;
.ODDLEFTBORDER←EVENLEFTBORDER←1000;
.if going=0 then going←1 else next page;
.nofill;
.count page from 2;
.salut←"data";  foo←scan(salut," ","","XR");
.xxx←namad←scan(salut,"$","","IS");  yyy←author←scan(salut,"$","","IS");
.subject←scan(salut,"$","","IS"); dat←scan(salut,"$","","IS");
.if length(dat)≤2 then dat←date;
.if length(author)≤2 then yyy←author←"aut";
.zzz←scan(yyy,",↓");
.zzz←scan(xxx,"↓","","IS");  ln←length(zzz);
.if length(namad)>ln+3 then start
.  if length(namad)≤ln+7 then namad←zzz&"↓"&eval(xxx);
.  end;
.name←scan(zzz,",");
.fill adjust;
. ⊃
.
.macro head;	⊂ nofill; SKIP 4; select 1;
.(namad)}
.subj;
.if length(salut)>1 then start
Dear {(salut);}:

.end
.⊃
.
.macro memo;	⊂ begin "memo"
.skip 3;
.fill; nojust; indent 0,8; crbreak; tabs 9; turn on "\%";
.xxx←namad;  nam←scan(xxx,"↓");
To:\%1{nam}

%3From:\%1{author}
.end "memo";
.subj;
.⊃
.
.macro subj;	⊂
.fac;
.if length(subject)>2 then BEGIN "subject" turn on "%∂"; nojust; indent 0,8;crbreak;
%3Subject:∂9%1{subject}

.end "subject";
.before page	⊂ once turn on "%→←"; select 3;
.begin indent 0
.name}←{dat}→Page {page!}%*
.end
.skip;
.    ⊃
.select 1;
.  ⊃
.
.macro ref ⊂ select 3; nojust; boldit;
References:
.select 1; indent 0,8;
. ⊃
.
.macro sgn ⊂ BEGIN "signed" SKIP 2; NOFILL; group;
Sincerely,
.SKIP 3;
{author}
.END "signed"; ⊃
.
.macro sgnp ⊂ BEGIN "signedplain" SKIP 2; NOFILL; group;
Sincerely,
.SKIP 2;
John McCarthy
.END "signedplain"; ⊃
.
.macro reg ⊂BEGIN "regards" SKIP 2; NOFILL; group;
Best regards,
.SKIP 3;
{author}
.END "regards"; ⊃
.
.macro regp  ⊂BEGIN "regardsplain" SKIP 2; NOFILL; group;
Best regards,
.SKIP 3;
John McCarthy
.END "regardsplain"; ⊃
.
.MACRO FAC ⊂ FILL ADJUST ⊃
.
.macro cb(head) ⊂ if lines<5 then next page else skip; once center; select 3
head

.⊃
.
.macro boldit ⊂ turn on "%";
.  at """" ⊂ (if thisfont=1 then "%3" else "%1") ⊃;
.  at "<" ⊂"%2"⊃; at ">" ⊂"%1"⊃;
.⊃
.at "∂AIL" data "∞"; ⊂
.letter(|data|,|John McCarthy↓Director↓Professor of Computer Science|);
.if on4=0 then start on4←1; FONT 4 "STA200"; end;
.if on5=0 then start on5←1; FONT 5 "NGB25"; end;
%4S%5 Artificial Intelligence Laboratory, STANFORD UNIVERSITY, Stanford, California 94305
.once turn on "→"
Telephone 415 497-4430→{dat}
.head;
.xgenlines←xgenlines-8;
.⊃
.
.at "∂CSL" data "∞"; ⊂
.letter(|data|,|John McCarthy↓Professor of Computer Science|);
.if on4=0 then start on4←1; FONT 4 "STA200"; end;
.if on5=0 then start on5←1; FONT 5 "NGB25"; end;
%4S%5 Department of Computer Science, STANFORD UNIVERSITY, Stanford, California 94305
.once turn on "→"
Telephone 415 497-4430→{dat}
.head;
.xgenlines←xgenlines-8;
.⊃
.
.at "∂HOM" data "∞"; ⊂
.letter(|data|,|John McCarthy|);
.if on5=0 then start on5←1; FONT 5 "NGB25"; end;
.begin select 5; center;
846 Lathrop Drive
Stanford, California 94305
.nofill; turn on "→"
Telephone 415 857-0672→{dat}
.head;
.end
.⊃
.
.AT "∂MEM" data "∞"	⊂
.letter("data",
."John McCarthy, Director, Artificial Intelligence Lab.");
.if on6=0 then start on6←1; font 6 "micr25"; end;
.if on7=0 then start on7←1; font 7 "ngb30";  end;
.SELECT 6; CENTER;
OFFICE MEMORANDUM  *  STANFORD UNIVERSITY  *  OFFICE MEMORANDUM
.SKIP; SELECT 7;
STANFORD ARTIFICIAL INTELLIGENCE LABORATORY
.SELECT 3; SKIP;
{DAT}
.memo;
.⊃
.
.AT "∂CSM" data "∞"	⊂
.letter("data",
."John McCarthy, Professor of Computer Science");
.if on6=0 then start on6←1; font 6 "micr25"; end;
.if on7=0 then start on7←1; font 7 "ngb30";  end;
.SELECT 6; CENTER;
OFFICE MEMORANDUM  *  STANFORD UNIVERSITY  *  OFFICE MEMORANDUM
.SKIP; SELECT 7;
DEPARTMENT OF COMPUTER SCIENCE
.SELECT 3; SKIP;
{DAT}
.memo;
.⊃
.
.at "∂SEN" data "∞"; ⊂
.letter(|data|,|John McCarthy↓Chairman, Stanford Chapter of SE2|);
.if on5=0 then start on5←1; FONT 5 "NGB25"; end;
.if on7=0 then start on7←1; font 7 "ngb30";  end;
.if on8=0 then start on8←1; font 8 "ngb25"; end;
.begin center;
%7 SE2
%8 (Scientists and Engineers for Secure Energy)
.skip
%5 846 Lathrop Drive, Stanford, California 94305
.end
.xgenlines←-4;
.once turn on "→"
Telephone 415 497-4430→{dat}
.head;
.⊃
.
.at "∂LOT" data "∞"; ⊂
.letter(|data|,|John McCarthy↓Director↓Professor of Computer Science|);
.if on9=0 then start on9←1; font 9 "beesix"; end;
.if on5=0 then start on5←1; FONT 5 "NGB25"; end;
.if on8=0 then start on8←1; font 8 "ngb25"; end;
.begin center
%9 LOTS
%8 (Stanford University Low Overhead Time-Sharing System)
.skip
.end
%5John McCarthy, Director
Artificial Intelligence Laboratory, STANFORD UNIVERSITY, Stanford, California 94305
.skip
.xgenlines←-4;
.once turn on "→"
Telephone 415 497-4430→{dat}
.head;
.⊃
.
.AT "∂MLOT" data "∞"	⊂
.letter(|data|,"John McCarthy, Director");
.if on6=0 then start on6←1; font 6 "micr25"; end;
.if on7=0 then start on7←1; font 7 "ngb30";  end;
.SELECT 6; CENTER;
OFFICE MEMORANDUM  *  STANFORD UNIVERSITY  *  OFFICE MEMORANDUM
.SKIP; SELECT 7;
STANFORD LOW OVERHEAD TIME-SHARING SYSTEM
.SELECT 3; SKIP;
{DAT}
.memo;
.⊃
.
.going←on4←on5←0;  on6←on7←on8←on9←0;
.portion main;  place text;